Jetty (web server)

Jetty
Developer(s) Eclipse Foundation
Stable release 8.0.4.v20111024 / October 24, 2011; 3 months ago (2011-10-24)
Written in Java
Operating system Cross-platform (JVM)
Type Web server Servlet
License Apache License 2.0, Eclipse Public License 1.0
Website eclipse codehaus

Jetty is a pure Java-based HTTP client/server, WebSocket client/server and servlet container (Application server) developed as a free and open source project as part of the Eclipse Foundation. It is currently used in products such as ActiveMQ,[1] Alfresco, [2] Apache Geronimo,[3] Apache Maven, Google App Engine,[4] Eclipse,[5] FUSE,[6] HP OpenView, JBoss,[7] Liferay,[8] Ubuntu, Twitter's Streaming API[9] and Zimbra.[10] Jetty is also used as a standard Java application server by many open source projects such as Lift, Eucalyptus and Hadoop.

Contents

Overview

Developed as an independent open source project, in 2009 Jetty moved to Eclipse.[11][12] Jetty provides Web services in an embedded Java application and it is already a component of the Eclipse IDE. It supports AJP, JASPI, JMX, JNDI, OSGi, Web Sockets and other Java technologies.[4]

History

Originally developed in the Sydney suburb of Balmain by software engineer Greg Wilkins, Jetty was originally a HTTP server component of Mort Bay Server; Mort Bay being an area of Balmain.

Jetty was started in 1995 and was hosted by MortBay, creating version 1.x and 2.x, until 2000. From 2000 to 2005, Jetty was hosted by sourceforge.net where version 3.x, 4.x, and 5.x were produced. In 2005, the entire Jetty project moved to codehaus.org. As of 2009, the core components of Jetty have been moved to Eclipse.org, and Codehaus.org continues to provide integrations, extensions, and packaging of Jetty.[13][14]

Version Home Java Version HTTP Version Servlet Version JSP Version Status
8.x Eclipse, Codehaus 1.6 HTTP/1.1 RFC2616 3.0 2.1 Experimental
7.x Eclipse, Codehaus 1.5, J2ME HTTP/1.1 RFC2616 2.5 2.1 Stable
6.x Codehaus 1.4-1.5 HTTP/1.1 RFC2616 2.5 2.0 Mature
5.x Sourceforge 1.2-1.5 HTTP/1.1 RFC2616 2.4 2.0 Deprecated
4.x Sourceforge 1.2, J2ME HTTP/1.1 RFC2616 2.3 1.2 Ancient
3.x Sourceforge 1.2 HTTP/1.1 RFC2068 2.2 1.1 Fossilized
2.x Mortbay 1.1 HTTP/1.0 RFC1945 2.1 1.0 Legendary
1.x Mortbay 1.0 HTTP/1.0 RFC1945 Mythical

[13][14]

References

  1. ^ "ActiveMQ with Ajax and Jetty". http://docs.codehaus.org/display/JETTY/Jetty+Wiki: Jetty Wike (Codehaus). http://docs.codehaus.org/display/JETTY/Integrating+with+ActiveMQ. Retrieved 2011-04-12. 
  2. ^ "Maven + Alfresco : Jetty, Boostrap and Profil: 2. Starting and Testing Alfresco via Maven". http://www.open-source-ecm.com/: Going to an OpenSource ECM World..... http://www.open-source-ecm.com/2010/04/maven-alfresco-jetty-boostrap-and.html. Retrieved 2011-04-12. "If you've followed all of preceding posts on integrating Alfresco + Maven, you realized that you spend a lot of time to incorporate an AMP in Alfresco... Copy / paste is well but is a bit repetitive... The idea to improve the process would execute a maven command to start Alfresco ! How? Well through the use of new plugins: maven-jetty and war! Jetty is a lightweight HTTP container (just the same style as Tomcat ...) which will enable us to launch Alfresco." 
  3. ^ "Configuring Virtual Hosts in Geronimo-Jetty". https://cwiki.apache.org/geronimo/: Apache Geronimo Documentation. https://cwiki.apache.org/GMOxDOC11/configuring-virtual-hosts-in-geronimo-jetty.html. Retrieved 2011-04-12. "For the Jetty distribution of Apache Geronimo this configuration is dramatically simpler. You just need to define the <virtual-host> tag in the application's deployment plan and make sure that host name ( virtual host ) can be resolved by an external client. There is virtually no additional configuration needed on the Geronimo server side." 
  4. ^ a b "Google Chose Jetty for App Engine". http://www.infoq.com/: InfoQ. http://www.infoq.com/news/2009/08/google-chose-jetty. Retrieved 2011-04-12. 
  5. ^ "jetty://". http://www.eclipse.org/: Eclipse. http://www.eclipse.org/jetty/. Retrieved 2011-04-12. "Jetty provides an Web server and javax.servlet container, plus support for Web Sockets, OSGi, JMX, JNDI, JASPI, AJP and many other integrations. These components are open source and available for commercial use and distribution." 
  6. ^ Uses a Jetty component. "class JettyHttpComponent". http://fusesource.com/docs/router/1.6/apidoc/overview-summary.html: FUSE Mediation Router 1.6.0.0-fuse API. "An HttpComponent which starts an embedded Jetty for to handle consuming from the http endpoints." 
  7. ^ "Jetty in JBoss". http://docs.codehaus.org/: Codehaus. http://docs.codehaus.org/display/JETTY/JBoss. Retrieved 2011-04-12. 
  8. ^ "4. Jetty 5.1.1". http://content.liferay.com: Liferay. http://content.liferay.com/4.0.0/docs/install/ch01s04.html. Retrieved 2011-04-12. 
  9. ^ "Twitter Streaming API and Apache Wink". http://matthiaswessendorf.wordpress.com/2010/02/16/twitter-streaming-api-and-apache-wink/. Retrieved 19 May 2011. 
  10. ^ JJ Zhuang (2007-12-18). "Zimbra Blog: Why we switched to Jetty". http://blog.zimbra.com/: VMWare Zimbra. http://blog.zimbra.com/blog/archives/2007/12/why-we-switched-to-jetty.html. Retrieved 2011-04-12. 
  11. ^ Lieber, Adam (January 2011). "Jetty: The Twelve Year Journey to Market Maturity". Linux Gazette. http://linuxgazette.net/157/lieber.html. 
  12. ^ "About Jetty". Codehaus. http://docs.codehaus.org/display/JETTY/About%20Jetty#AboutJetty-Eclipse. Retrieved 2011-11-30. 
  13. ^ a b About Jetty, Located on Codehaus.
  14. ^ a b About Jetty, Located on Eclispe.

See also

External links